Micron Document
🎖️GitЯра🎖️

Node / meshtastic / Meshtastic-Android / files / docs / _includes / language_switcher.html

Displaying Raw • Download

docs/_includes/language_switcher.html f94358551c7e41a2ea07ca97185fa8331b19f09c (f9435855) Text, 3.07 KB

{% comment %}
Language switcher for translated docs pages.
Renders a dropdown-style link list showing available translations of the current page.
Include this in any page or layout that should offer locale switching.

Usage: {% include language_switcher.html %}

Logic:
- Derives the current page's relative path within its section
- Checks if translated versions exist in locale subdirectories
- Shows a globe icon with available locale links
{% endcomment %}

{% assign current_path = page.path %}
{% assign locales = site.data.locales %}

{% if locales and current_path %}
{% assign path_parts = current_path | split: "/" %}
{% assign first_segment = path_parts[0] %}

{% comment %} Build the list of available translations first {% endcomment %}
{% assign has_translations = false %}

{% if locales[first_segment] %}
{% comment %} We're on a translated page — English link is always available {% endcomment %}
{% assign has_translations = true %}
{% assign remaining_parts = path_parts | slice: 1, path_parts.size %}
{% assign en_path = remaining_parts | join: "/" | replace: ".md", "" %}
{% else %}
{% comment %} Check if any translated version exists {% endcomment %}
{% assign en_relative = current_path | replace: ".md", "" %}
{% for locale in locales %}
{% assign locale_code = locale[0] %}
{% assign locale_file = locale_code | append: "/" | append: en_relative | append: ".md" %}
{% for p in site.pages %}
{% if p.path == locale_file %}
{% assign has_translations = true %}
{% break %}
{% endif %}
{% endfor %}
{% if has_translations %}{% break %}{% endif %}
{% endfor %}
{% endif %}

{% if has_translations %}
Tb4b4b4<Tff7b72details Te6edf3classTff7b72=Ta5d6ff"language-switcher" Te6edf3aria-labelTff7b72=Ta5d6ff"Language options"Tb4b4b4>
Tb4b4b4<Tff7b72summary Te6edf3classTff7b72=Ta5d6ff"language-switcher-btn" Te6edf3titleTff7b72=Ta5d6ff"View in another language"Tb4b4b4>
🌐 Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"lang-current"Tb4b4b4>EnglishTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72summaryTb4b4b4>
Tb4b4b4<Tff7b72ul Te6edf3classTff7b72=Ta5d6ff"language-switcher-list"Tb4b4b4>
{% if locales[first_segment] %}
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72a Te6edf3hrefTff7b72=Ta5d6ff"{{ en_path | relative_url }}" Te6edf3langTff7b72=Ta5d6ff"en"Tb4b4b4>EnglishTb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
{% endif %}

{% for locale in locales %}
{% assign locale_code = locale[0] %}
{% assign locale_info = locale[1] %}

{% if locales[first_segment] %}
{% if locale_code == first_segment %}
{% continue %}
{% endif %}
{% assign locale_path = locale_code | append: "/" | append: en_path %}
{% else %}
{% assign locale_path = locale_code | append: "/" | append: en_relative %}
{% endif %}

{% assign locale_file = locale_path | append: ".md" %}
{% assign page_exists = false %}
{% for p in site.pages %}
{% if p.path == locale_file %}
{% assign page_exists = true %}
{% break %}
{% endif %}
{% endfor %}

{% if page_exists %}
Tb4b4b4<Tff7b72liTb4b4b4>Tb4b4b4<Tff7b72a Te6edf3hrefTff7b72=Ta5d6ff"{{ locale_path | relative_url }}" Te6edf3langTff7b72=Ta5d6ff"{{ locale_code }}" {% Te6edf3if Te6edf3locale_info.Te6edf3dir Tff7b72=Ta5d6ff= "Te6edf3rtl" %}Te6edf3dirTff7b72=Ta5d6ff"rtl"{% Te6edf3endif %}Tb4b4b4>{{ locale_info.name }}Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
{% endif %}
{% endfor %}
Tb4b4b4<Tb4b4b4/Tff7b72ulTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72detailsTb4b4b4>
{% endif %}
{% endif %}

Served by rngit 1.5.0 - Generated in 0.25s